package cn.yougou.mapper;

import cn.yougou.pojo.YgCategory;
import cn.yougou.pojo.YgCommodity;
import cn.yougou.pojo.YgOrder;
import cn.yougou.vo.YgOrderVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**  order实体类
 * @auth 韩帅锋
 * @date 2020/12/6 20:33
 */
public interface YgOrderMapper {


    /**
     * 根据评论List集合查询出订单中拍下的型号
     */
    /**
     * 查询订单数量
     * @return
     */
    int OrderCount();

    /**
     * 查询所有订单信息
     * @return
     */
    List<YgOrder> queryOrderAll();

    /**
     * 根据状态查询订单信息
     * Condition:状态
     * @return
     */
    List<YgOrder> queryCondition( YgOrder orderstatus);

    /**
     * 查询图片,并根据状态查询订单信息
     * @param ygOrderVo
     * @return
     */
    List<YgOrderVo> selCondition(YgOrderVo ygOrderVo);

    /**
     * 根据实体类进行修改数据
     * @param ygOrderVo
     * @return
     */
    int  updateOrder(YgOrderVo ygOrderVo);

    /**
     * 仅限查询评论过的订单
     * @param ygOrder
     * @return
     */
    List<YgOrder> likeComment(YgOrder ygOrder);

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    YgOrder queryById(Integer id);

    /**
     * 查询指定行数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<YgOrder> queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit);

    /**
     * 更改订单表评价为-1
     * @param commentId
     * @return
     */
    int updateCommentId(Integer commentId);

    /**
     * 新增数据
     *
     * @param ygOrder 实例对象
     * @return 影响行数
     */
    int insert(YgOrder ygOrder);

    /**
     * 修改数据
     *
     * @param ygOrder 实例对象
     * @return 影响行数
     */
    int updateOrderCommentId(YgOrder ygOrder);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 影响行数
     */
    int deleteById(Integer id);

    Integer getOkOrder(Integer ygUserid);
}
